package com.nbstar.film.spider.excel;

import com.nbstar.film.spider.domain.FilmSpiderDomain;
import com.nbstar.film.spider.pojo.ExcelVedioInfo;
import com.nbstar.film.spider.pojo.FilmExcelInfo;
import com.nbstar.film.spider.pojo.FilmInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Row;

@Slf4j
public class ShaoErExcelWriter  extends XSSExcelWriter {
    public ShaoErExcelWriter(String sheetName, String excelPath) {
        super(sheetName, excelPath);
    }

    @Override
    protected void initExcelHeader(Row r) {
        r.createCell(0).setCellValue("公司名称");
        r.createCell(1).setCellValue("序号");
        r.createCell(2).setCellValue("节目集名称");
        r.createCell(3).setCellValue("节目集类型");	//给表头定义字段名
        r.createCell(4).setCellValue("制片年份");	//给表头定义字段名
        r.createCell(5).setCellValue("是否院线上映");
        r.createCell(6).setCellValue("票房（亿)");
        r.createCell(7).setCellValue("优酷评分");
        r.createCell(8).setCellValue("爱奇艺评分");
        r.createCell(9).setCellValue("腾讯评分");
        r.createCell(10).setCellValue("综合评分");
        r.createCell(11).setCellValue("集数");
        r.createCell(12).setCellValue("版权号");
        r.createCell(13).setCellValue("版权有效期");
        r.createCell(14).setCellValue("内容亮点");
        r.createCell(15).setCellValue("二级分类");
        r.createCell(16).setCellValue("优酷抓取结果");
        r.createCell(17).setCellValue("爱奇艺抓取结果");
        r.createCell(18).setCellValue("腾讯抓取结果");
        r.createCell(19).setCellValue("优酷观看是否需要vip");
        r.createCell(20).setCellValue("爱奇艺观看是否需要vip");
        r.createCell(21).setCellValue("腾讯观看是否需要vip");

    }

    @Override
    protected void writeRow(Row r, FilmExcelInfo filmDomain) {
        r.createCell(0).setCellValue(filmDomain.getCompany());
        r.createCell(1).setCellValue(filmDomain.getSeqNo());
        r.createCell(2).setCellValue(filmDomain.getFilmName());
        r.createCell(3).setCellValue(filmDomain.getType());
        r.createCell(4).setCellValue(filmDomain.getArriveDate());
        r.createCell(5).setCellValue(filmDomain.getOnCinema());
        ;
        r.createCell(6).setCellValue(filmDomain.getBoxOffice());
        r.createCell(7).setCellValue(filmDomain.getYoukuScore());
        r.createCell(8).setCellValue(filmDomain.getIqyScore());
        r.createCell(9).setCellValue(filmDomain.getQqScore());
        r.createCell(10).setCellValue((filmDomain.getYoukuScore() + filmDomain.getIqyScore() + filmDomain.getQqScore()) / 3);


        r.createCell(11).setCellValue(filmDomain.getPartNum());
        r.createCell(12).setCellValue(filmDomain.getCopyrightNumber());
        r.createCell(13).setCellValue(filmDomain.getCopyrightValidDate());
        r.createCell(14).setCellValue(filmDomain.getBrightSpot());
        r.createCell(15).setCellValue(filmDomain.getCategory());

        r.createCell(16).setCellValue(filmDomain.getYoukuResult());
        r.createCell(17).setCellValue(filmDomain.getIqyResult());
        r.createCell(18).setCellValue(filmDomain.getQqResult());
        r.createCell(19).setCellValue(filmDomain.getYKNeedVip());
        r.createCell(20).setCellValue(filmDomain.getIQYNeedVip());
        r.createCell(21).setCellValue(filmDomain.getTXNeedVip());
    }

    @Override
    public ExcelVedioInfo trans2Excel(FilmSpiderDomain domain) {
        FilmInfo youkuFilmInfo =  domain.get(FilmSpiderDomain.SPIDER_FROM_YOUKU);
        FilmInfo iqyFilmInfo = domain.get(FilmSpiderDomain.SPIDER_FROM_IQY);
        FilmInfo qqFilmInfo = domain.get(FilmSpiderDomain.SPIDER_FROM_QQ);
        FilmExcelInfo filmExcelInfo = new FilmExcelInfo();

        if (youkuFilmInfo != null) {
            filmExcelInfo.setYoukuScore(youkuFilmInfo.getAverage());
            if (youkuFilmInfo.isSuccess()) {
                filmExcelInfo.setYoukuResult("成功");
            }

            if (youkuFilmInfo.isNeedVip()) {
                filmExcelInfo.setYKNeedVip("是");
            }
        }

        if (iqyFilmInfo != null) {
            filmExcelInfo.setIqyScore(iqyFilmInfo.getAverage());
            if (iqyFilmInfo.isSuccess()) {
                filmExcelInfo.setIqyResult("成功");
            }

            if (iqyFilmInfo.isNeedVip()) {
                filmExcelInfo.setIQYNeedVip("是");
            }

        }

        if (qqFilmInfo != null) {
            filmExcelInfo.setQqScore(qqFilmInfo.getAverage());
            if (qqFilmInfo.isSuccess()) {
                filmExcelInfo.setQqResult("成功");
            }

            if (qqFilmInfo.isNeedVip()) {
                filmExcelInfo.setTXNeedVip("是");
            }
        }


        filmExcelInfo.setBrightSpot(domain.getRaw().getBrightSpot());
        filmExcelInfo.setCopyrightNumber(domain.getRaw().getCopyrightNumber());
        filmExcelInfo.setCopyrightValidDate(domain.getRaw().getCopyrightValidDate());

        filmExcelInfo.setFilmName(domain.getRaw().getFilmName());
        filmExcelInfo.setSeqNo(domain.getRaw().getSeqNo());

        return filmExcelInfo;
    }
}
